import Vue from 'vue';

import Message from './message.vue';
import { setTimeout } from 'timers';

// console.log(Message)

//基于vue基础类创建一个子类，//Vue.extend(组件对象)
let MsgContructor = Vue.extend(Message);

console.log(MsgContructor);

class MsgClass {
    static dialog(option){
        //处理参数
        //提示内容
        let msg = typeof option === 'string' ? option : option.message;
        //提示信息的类型
        let type = typeof option === 'string' ? '' : option.type;
        if(!MsgClass.instance){
            //如果MsgClass的实例不存在，创建一个实例
            MsgClass.instance = new MsgContructor({
                el:document.createElement('div')
            })

            console.log(MsgClass.instance)
            document.body.appendChild(MsgClass.instance.$el);
        }
        //处理提示信息 提示信息类型  提示信息是否显示
        MsgClass.instance.msg = msg;
        MsgClass.instance.type = type;
        MsgClass.instance.isShow = true;

        //如果定时器存在，删除
        if(MsgClass.instance.timer){
            clearTimeout(MsgClass.instance.timer);
        }

        //隔3秒后消失
        MsgClass.instance.timer = setTimeout(() => {
            MsgClass.instance.isShow = false;
        },3000)

        //如果MsgClass的实例已经存在，直接返回
        return MsgClass.instance
    }
}
export default MsgClass

// this.$message()
// MsgClass.dialog('提示信息');

// MsgClass.dialog({
//     message:'提示信息',
//     type:'waring'
// });

// MsgClass.dialog();
// MsgClass.dialog();

